Rsync : Sync Files/Directories
2016/06/19 |
Copy files or directories from one location to an another host by rsync.
If you'd like to set rsync automatically by cron or others, it need to configure like follows
because authentication is required without settings. For example, Copy files or directories under the [/root/work]
on dlp.srv.world to [/home/backup] on www.srv.world.
Basic usage of rsync is here. +----------------------+ | +----------------------+ | dlp.srv.world |10.0.0.30 | 10.0.0.31| www.srv.world | | +----------+----------+ | | /root/work/* | -------------> | /home/backup/* | +----------------------+ copy +----------------------+ |
[1] | Configure on source host. |
root@dlp:~#
apt-get -y install rsync
root@dlp:~#
vi /etc/rsync_exclude.lst # specify files or directories you'd like to exclude to copy
test test.txt |
[2] | Configure on destination host. |
root@www:~#
apt-get -y install rsync
root@www:~#
vi /etc/default/rsync # line 8: change RSYNC_ENABLE= true
root@www:~#
vi /etc/rsyncd.conf # create new # any name you like [backup] # destination directory to copy path = /home/backup # hosts you allow to access hosts allow = 10.0.0.30 hosts deny = * list = true uid = root gid = root read only = false mkdir /home/backup root@www:~# systemctl start rsync |
[3] | It's OK. Execute rsync on Source Host like follows. |
root@dlp:~#
rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup # Add in cron if you'd like to run reguraly
root@dlp:~#
crontab -e # for example, run at 2:00 AM in a day 00 02 * * * rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /root/work/ www.srv.world::backup
|